#!/usr/bin/env python

# Copyright 2011 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from google.appengine.ext import webapp

from django.utils import simplejson as json

from lib import authz
from lib import http

from lib.loggable import loggable
import app_params as application_params

__author__ = "Maciej Machulak"
__maintainer__ = "Maciej Machulak"
__email__ = "mmachulak@google.com"

__copyright__ = "Copyright 2011, Google Inc."
__license__ = "Apache License 2.0"
__version__ = "0.1"
__status__ = "Prototype"

class UserInfoHandler(webapp.RequestHandler):

    @authz.api_authz_required('openid')
    @loggable('user info')
    def get(self):
      
      user = self.user
      
      info = {}
      info['user_id'] = str(user.key())
      info['domain'] = application_params.Config.APP_URL
      info['display_name'] = user.display_name
      info['email'] = user.email

      self.response.headers[http.Header.content_type] = http.ContentType.json
      self.response.out.write(json.dumps(info))    